REST is a software architecture style. An Application Programming Interface (API) accessing an application or service following the REST style (RESTful) is called RESTful API or REST API. With the Software as a Service (SaaS) arising in the enterprise data systems, more and more vendors are exposing REST APIs to client applications. The resources in a REST API are uniquely identified by Uniform Resource Identifies (URIs). By providing URN to a client, a Web server makes it possible for the client to access resources at the URI.
The general syntax format of conventional URIs is protocol :// hostname[:port]/path, wherein “protocol” specifies a transport protocol that is used for accessing resources, “hostname” is also called “domain name” which represents the name of a server storing resources, “port” is optional and represents the port number of the transport protocol, and “path” represents the name of a path arriving at resources and of the resources themselves. However, conventional URIs have a variety of limitations. For example, conventional URIs typically include a plurality of characters. For example, the URI http://example.com/tenants/1b523c/spaces/02c6d/folders/9843a2f/docs/837b8 includes 73 characters. Applications like mobile phone applications are very sensitive to the payload size, and some message transceiver systems (such as short message service (SMS), microblogging service, etc.) limit the number of characters that can be transferred in messages. In addition, as seen from the general syntax format of conventional URIs, conventional URIs include confidential information which may be abused by malicious clients. For example, a conventional URI reflects the organization pattern of resources in a server to which the URI points, and a malicious client may illegally access other resources with the pattern.